package top.lixunda.ecommerce.server.user.api.entity.db;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户账户绑定，account是本系统官方唯一标识用户的id，该id通过绑定其他账户方便用户登录和操作。
 * </p>
 *
 * @author Xumda
 * @since 2019-11-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("account_binding")
public class AccountBindingDO extends Model<AccountBindingDO> {

    private static final long serialVersionUID=1L;

    /**
     * 可用标识
     */
    public static final int USEABLE_TRUE = 1;

    /**
     * 不可用标识
     */
    public static final int USEABLE_FALSE = 0;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 系统账户id
     */
    @TableField("account_id")
    private Integer accountId;

    /**
     * 绑定账号类型
     */
    @TableField("binding_type_id")
    private Integer bindingTypeId;

    /**
     * 绑定的账号
     */
    @TableField("bind_account")
    private String bindAccount;

    @TableField("time")
    private LocalDateTime time;

    /**
     * 绑定是否可用 1 可用 0 不可用 默认可用
     */
    @TableField("useable")
    private Integer useable;


    @Override
    protected Serializable pkVal() {
        return this.accountId;
    }

}
